// pages/details/details.js
Page({
  /**
   * 页面的初始数据
   */
  data: {
    details: {}
  },

  download() {
    wx.getSetting({
      success: (res) => {
        wx.hideLoading();
        if (!res.authSetting['scope.writePhotosAlbum']) {
          // 首次申请权限
          wx.authorize({
            scope: 'scope.writePhotosAlbum',
            success: () => {
              this.downloadImage();
            },
            fail: () => this.showPermissionGuide()
          });
        } else {
          this.downloadImage(); // 已授权直接下载
        }
      }
    });
  },

  downloadImage() {
    wx.downloadFile({
      url: this.data.details.img,  // 网络图片地址
      success: (res) => {
        const tempFilePath = res.tempFilePath;  // 获取临时路径
        wx.saveImageToPhotosAlbum({
          filePath: tempFilePath,
          success: () => {
            wx.showToast({ title: '保存成功', icon: 'success' });
          },
        });
      },
      fail: (err) => {
        console.error('下载失败', err);
        wx.showToast({ title: '图片下载失败', icon: 'none' });
      }
    });
  },

  // 引导用户手动开启
  showPermissionGuide() {
    wx.showModal({
      title: '提示',
      content: '需要您授权保存到相册',
      confirmText: '去设置',
      success: (res) => {
        if (res.confirm) wx.openSetting(); // 打开系统设置页
      }
    });
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    const details = wx.getStorageSync("details");
    this.setData({
      details
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})